本发明涉及计算机图像技术领域,具体是一种采用增强现实技术的射击训练的方法和系统。本发明采用增强现实技术实时融合真实场景和虚拟射击目标并在训练者视频眼镜中形成战斗场景,枪系统上摄像头和扳机将射击信息传向智能手机,由智能手机判定是否射中目标,形成射击结果存储和在射击者头带视频眼镜中显示;同时虚拟目标也可向射击者射击,形成射击结果存储和训练者头带视频眼镜中显示,输出反馈效果信息。本发明具有射击训练的灵活性强,模拟真实度高,而且大大节约了训练的成本。
1.一种采用增强现实技术的虚拟射击方法,其特征在于,该方法包括:智能手机中视频跟踪模块接收头盔装置中摄像模块发送的真实场景图像数据,获取目标位置,智能手机中三维注册模块获取真实环境摄像机的世界坐标,智能手机中陀螺仪装置获取射击者相对水平面的三维局部坐标,智能手机中坐标变换模块记录摄像模块中摄像机的投影矩阵,并将陀螺仪的三维局部坐标转换成三维全局坐标,智能手机中虚拟目标生成模块将视频跟踪模块获取的真实环境中的目标位置生成虚拟目标,智能手机中射中验证模块验证射击者是否击中虚拟目标,如击中虚拟目标,虚拟目标受伤动作模块选择射中验证模块验证虚拟目标击中后的动作模型,根据虚拟目标射击动作模块设定的动作实施虚拟目标射击动作,并将射击信息发送给受伤验证模块验证射击信息是否击中射击者,当击中射击者智能手机振动装置发出振动提示受伤,智能手机中虚实图像融合模块将虚拟目标添加到真实环境中。
2.根据权利要求1所述的虚拟射击方法,其特征在于:所述的获取真实环境世界坐标系的方法进一步包括:利用快速鲁棒性特征点检测算法对捕获到的视频图像帧进行特征点的检测,使用光流算法对检测到的特征点进行跟踪,使用随机抽样一致性算法对每一帧图像的特征点与模版图像的特征点进行匹配,获取真实环境的世界坐标。
3.根据权利要求1所述的虚拟射击方法,其特征在于:虚拟目标生成模块根据真实环境摄像机的投影坐标,计算摄像头坐标系与世界坐标系之间的平移、旋转矩阵,由随机函数随机生成多个虚拟射击目标。
4.根据权利要求1所述的虚拟射击方法,其特征在于:当射击者射击的虚拟目标出现在所述枪系统中瞄准摄像头捕获画面的中心位置时,射击者击中所述虚拟目标;当虚拟目标射击的轨迹穿过以射击者为中心的包围盒时,虚拟目标击中射击者。
5.根据权利要求1所述的的虚拟射击方法,其特征在于,受伤验证模块验证虚拟目标是否射中射击者具体为:根据陀螺仪获取的射击信息,确定虚拟目标射击的弹道射线
L的坐标,根据训练者的投影坐标确定一个与弹道射线
L垂直的包围盒区域
O,如果射线
L穿过包围盒区域
O则表示虚拟目标射中训练者。
6.一种使用增强现实技术的单兵轻武器虚拟射击训练的系统,该系统包括:头盔装置、枪系统、智能手机,其中:头盔装置包括:摄像模块、显示模块,智能手机包括:视频跟踪模块、三维注册模块、陀螺仪装置、坐标变换模块、虚拟目标生成模块、射中验证模块、虚拟目标受伤动作模块、虚拟目标射击动作模块、受伤验证模块、受伤效果模块、数据存储装置、虚实图像融合模块,枪系统包括:射击模块、瞄准摄像模块,其特征在于,摄像模块,用于获取真实环境的场景图像数据并将所述的图像数据发送给智能手机;显示模块,用于显示真实环境和虚拟目标的融合场景数据;射击模块,用于发送射击者的射击命令信息;瞄准摄像模块,用于获取射击者的射击信息并发送至智能手机;视频跟踪模块,用于接收摄像模块发送的真实场景图像数据;三维注册模块,用于获取所述真实环境摄像机的世界坐标;陀螺仪装置,用于获取射击者水平面的三维局部坐标;坐标变换模块,用于记录摄像模块中摄像机的投影矩阵和将所述陀螺仪的三维局部坐标转换为三维世界坐标;虚拟目标生成模块,用于将真实环境中的位置生成虚拟目标;射中验证模块,用于验证射击者是否击中虚拟目标;虚拟目标受伤动作模块,用于选择所述射中验证模块验证虚拟目标击中后的动作模型;虚拟目标射击动作模块,用于设定虚拟目标射击的动作,并将射击信息发送给受伤验证模块;受伤验证模块,用于验证所述虚拟目标射击动作模块的射击信息是否击中射击者;振动装置,当击中射击者后,控制智能手机发出振动信息;数据存储装置,用于存储射击者射击虚拟目标的详细信息和虚拟目标射击的详细信息;虚实图像融合模块,用于将虚拟目标添加到真实环境中得到增强现实环境的融合视频帧。
7.根据权利要求6所述的的系统,其特征在于,虚拟目标生成模块获得真实环境摄像机的投影坐标,确定摄像头坐标系与世界坐标系之间的平移、旋转矩阵,由随机函数随机生成多个虚拟射击目标的位置。
技术领域本发明涉及计算机图形技术领域,具体涉及一种采用增强现实技术的射击训练方法和系统。
背景技术目前轻武器射击训练由于受到传统训练模式、方法和场地的制约,在训练科目和训练手段上还停留在胸环靶实弹射击为代表的基础精度射击和机械移动显隐靶射击方式,这种训练方式,靶目标位置不确定性、显隐性不足,很难满足移动目标时隐时现和移动不定情形下所需的射击技能和基本要求,造成战机的贻误,另外还存在着训练成本高、信息化技术不足的问题,无法有效提升单兵战斗力。专利公开号为:CN201829068U中国专利公开了一种基于虚拟现实的单兵训练系统,可在很小的室内空间内为单兵训练提供真实的虚拟训练场景,可模拟特定的气候和地形环境,将受训人员在真实单兵训练场景中涉及到的动作通过对应的传感器产生的电信号实时传递给虚拟系统,驱动虚拟场景中的人物做出相同的动作,使受训者最大限度的贴近实战锻炼,但该系统头盔显示器所呈现的都是虚拟场景和虚拟人物,其专利重点在于射击者动作的信息反馈,另一方面,由于虚拟场景和人物都是计算机模型,其虚拟训练系统中反馈的信号直接作用在虚拟现实中虚拟射击者模型上,用虚拟现实中的虚拟射击者代替真实环境中的真实射击者,使得射击者主体没有真实融入射击训练中,造成射击训练的真实度不够,严重的影响了训练效果。增强现实技术是在传统虚拟现实技术的基础上发展起来的。是一种通过将计算机产生的图形、文字、注释等虚拟三维信息无缝自然地叠加融合到用户所看到的真实世界场景中,增强用户对现实世界感知的技术。其关键技术三维注册,是将计算机生成的虚拟物体或信息与真实场景画面进行精确的位置配准,在此基础上才能实现虚实物体之间的融合显示。本发明涉及的训练系统中的射击对象是添加到真实场景中的虚拟目标,这正是三维注册技术所要实现的目标。目前,增强现实三维注册技术主要分为基于标识和基于非标识即自然特征的两类,而前者的技术已经非常成熟。公开号为CN101339654A的中国发明专利提供了一种基于标志点的增强现实三维注册方法和系统,通过生成不可见光标志点,将生成的不可见光标志点投影到现实环境的承载面上,并采用具有不可见光滤光片的摄影机对投影在承载面上的不可见光标志点进行拍摄,获取所述不可见光标志点在屏幕中的二维坐标数据,根据所述的二维坐标数据对所述的不可见光标志点进行识别,获取不可见光标志点在现实环境的三维坐标与在屏幕中的二维坐标的映射,最终根据所述的映射计算出所述摄像机的姿态。此三维注册方法在实现过程中需要红外线发射与接收装置、红外滤光片等硬件设备的支持,另外,其算法步骤也较为复杂,不适合应用于实时的增强现实应用系统开发。公开号为CN101893935A的中国发明专利是开发了基于真实球拍的协同式增强现实乒乓球系统构建方法,首先利用系统获取的视频图像,根据颜色特征进行真实乒乓球球拍的检测和跟踪,设计实现了虚拟场景与真实场景的虚实三维注册。但是此系统中使用的三维注册方法是基于颜色特征的,因此要求真实场景中要有颜色标志物才行,不适合复杂场景中的增强现实应用开发。综上所述,单兵轻武器射击训练中现有技术存在以下主要问题:(1)真实射击靶的射击训练存在射击目标位置的有规律性和设备的高成本;(2)虚拟现实的射击训练没有融合真实环境形成战斗场景,导致射击的真实性不足。(3)增强现实射击训练如何采用非标志自然特征真实环境的三维注册。
发明内容本发明所要解决的技术问题是为了解决单兵轻武器射击训练中射击目标的不确定性问题,实现多个虚拟射击目标和真实人物、场景融合以及射击结果综合信息的反馈。本发明提出一种采用增强现实技术的单兵轻武器射击训练的方法和系统。捕获真实环境的视频帧,利用增强现实的非标志自然特征的三维注册技术求解真实环境的世界坐标以及最终虚拟目标的投影坐标,从而得到虚拟目标应该被“放置”在真实场景中的准确位置。训练者射击验证模块判定射击者是否击中了虚拟目标,与此同时,击中判定模块判定虚拟人是否射中了射击者本人。虚拟目标状态信息添加到所述实时场景图像中,通过虚实融合模块融合后传送给头盔装置中的显示模块。本发明的具体技术方案如下:一种使用增强现实技术的单兵轻武器虚拟射击训练方法,该方法包括:智能手机中设置:xa0视频跟踪模块、三维注册模块、陀螺仪装置、坐标变换模块、虚拟目标生成模块、射中验证模块、虚拟目标受伤动作模块、虚拟目标射击动作模块、受伤验证模块、受伤效果模块、数据存储装置、虚实图像融合模块。头盔装置中设置:摄像模块、显示模块。枪系统中设置:射击模块、瞄准摄像模块。智能手机中视频跟踪模块获取头盔装置中摄像模块输出的真实环境图像视频帧;智能手机中三维注册模块获取所述真实环境世界坐标;智能手机中坐标变换模块生成所述真实环境摄像机的投影坐标;智能手机虚拟目标生成模块获得所述真实环境和摄像头距离并生成虚拟射击目标及位置;智能手机中虚实图像融合模块将虚拟目标与真实环境图像帧融和;头盔装置显示模块获取增强现实环境的融合视频帧并显示真实环境和射击虚拟目标。智能手机中的射中验证模块判定虚拟目标是否被射中并显示,判定虚拟目标是否射中并结合虚拟目标受伤动作模块、虚实图像融合模块将显示信息送入头盔装置显示模块,此外并由智能手机存储模块存储射击结果信息。所述的获取真实环境世界坐标系的方法进一步包括:利用快速鲁棒性特征点(SURF)检测算法对捕获到的视频图像帧进行特征点的检测,使用Lucas-Kanade光流算法对检测到的特征点进行跟踪,使用RANSAC(算法对每一帧图像的特征点与模版图像的特征点进行匹配,获取真实环境的世界坐标。虚拟目标生成模块获得所述真实环境和摄像头距离并生成虚拟射击目标及位置方法进一步包括:所述生成虚拟目标的位置采用随机的方法。枪的扳机连接至智能手机,使得枪系统中射击模块获取枪扳机射击命令。判定虚拟目标是否被射中并显示方法包括:射击模块获取枪扳机射击命令,瞄准摄像模块获取射击者的射击信息,射中验证模块验证是否射中虚拟目标,读取虚拟目标受伤动作模型,更新所述虚拟目标状态。判定虚拟目标是否射中并显示包括:智能手机中虚拟目标射击动作模块发出射击信息,读取智能手机中陀螺仪模块局部坐标,坐标变换模块生成射击者位置投影坐标,受伤验证模块验证虚拟目标是否击中射击者,射击验证击中射击者后,所述数据存储装置存储射击数据,手机振动装置发出振动,智能手机中受伤效果模块提供受伤虚拟效果。验证模块验证是否射中虚拟目标进一步包括:当虚拟目标出现在枪系统中瞄准摄像头捕获画面的中心位置时,射击者击中所述虚拟目标。受伤验证模块验证虚拟目标是否中射击者方法进一步包括:当虚拟目标射击的轨迹穿过以射击者为中心的包围盒时,虚拟目标射中射击者。一种使用增强现实技术的单兵轻武器射击训练的系统,该系统包括:头盔装置、智能手机,其中:头盔装置包括:摄像模块,用于获取真实环境的场景图像数据并将所述的图像数据发送给智能手机;显示模块,用于显示真实环境和虚拟目标的融合场景数据。枪系统包括:射击模块,用于发送射击者的射击命令信息;瞄准摄像模块,用于获取射击者的射击信息并发送至智能手机。智能手机包括:视频跟踪模块,用于接收摄像模块发送的真实场景图像数据;三维注册模块,用于获取所述真实环境摄像机的世界坐标;陀螺仪装置,用于获取射击者相对水平面的三维局部坐标;坐标变换模块,用于记录所述摄像模块中摄像机的投影矩阵和将所述陀螺仪的三维局部坐标转换为三维世界坐标;虚拟目标生成模块,用于在真实环境中的随机位置生成虚拟目标;射中验证模块,用于验证射击者是否击中虚拟目标;虚拟目标受伤动作模块,用于选择所述射中验证模块验证虚拟目标击中后的动作模型;虚拟目标射击动作模块,用于设定虚拟目标射击的动作,并将射击信息发送给受伤验证模块;受伤验证模块,用于验证所述虚拟目标射击动作模块的射击信息是否击中射击者;振动装置,用于所述受伤验证模块验证击中射击者后,手机振动装置发出振动提示信息;受伤效果模块,用于所述受伤验证模块验证击中射击者后产生的受伤虚拟效果;数据存储装置,用于存储射击者射击虚拟目标的详细信息和虚拟目标射击的详细信息;虚实图像融合模块,用于将虚拟目标准确添加到真实环境中。大容量后备电池,用于为所述模块提供后备电源。摄像模块中捕获摄像头、射击模块中扳机、瞄准摄像模块中瞄准摄像头、显示模块、大容量后备电池均与智能手机连接。相对基于虚拟现实的射击游戏,本发明采用增强现实非标志自然特征三维注册融合真实环境,提高射击的真实性,并实现设计结果的自动统计;本发明采样的基于SUFT和光流法的三维注册方法提高了三维注册的准确性和实时性。
附图说明图1xa0本发明系统结构框图;图2xa0本发明工作流程图;图3三维注册算法流程图。
具体实施方式下面结合具体实施例以及附图对本发明作进一步的阐述和说明。如图1所示为本发明系统结构框图。一种使用增强现实技术的单兵轻武器射击训练的系统,该系统包括:头盔装置1、枪系统3、智能手机2,其中:头盔装置包括:摄像模块11、显示模块12、,智能手机包括:视频跟踪模块21、三维注册模块22、陀螺仪装置2a、坐标变换模块23、虚拟目标生成模块24、射中验证模块26、虚拟目标受伤动作模块2b、虚拟目标射击动作模块27、受伤验证模块2c、受伤效果模块2e、数据存储装置28、虚实图像融合模块25,枪系统包括:射击模块31、瞄准摄像模块32。射击模块发送射击者的射击命令信息,通过瞄准摄像模块获取射击者的射击信息并发送至智能手机;摄像模块获取真实环境的场景图像数据并将所述的图像数据发送给智能手机,显示模块显示真实环境和虚拟目标的融合场景数据。视频跟踪模块接收摄像模块发送的真实场景图像数据,获取目标位置,三维注册模块获取所述真实环境摄像机的世界坐标,陀螺仪装置获取射击者相对水平面的三维局部坐标,坐标变换模块记录摄像模块中摄像机的投影矩阵,并将陀螺仪获取的三维局部坐标转换为三维世界坐标,虚拟目标生成模块将视频跟踪模块获取的真实环境中的目标位置生成虚拟目标,射中验证模块验证射击者是否击中虚拟目标,如击中虚拟目标,虚拟目标受伤动作模块选择射中验证模块验证虚拟目标击中后的动作模型,根据虚拟目标射击动作模块设定的动作实施虚拟目标射击动作,并将射击信息发送给受伤验证模块验证虚拟目标射击动作模块的射击信息是否击中射击者,当击中射击者手机振动装置发出振动提示信息,受伤效果模块产生的受伤虚拟效果,由数据存储装置存储射击者射击虚拟目标的详细信息和虚拟目标射击的详细信息,虚实图像融合模块将虚拟目标添加到真实环境中。所述摄像模块11中CMOS摄像头与所述Android双核智能手机2的USB连接,射击模块31中扳机与所述Android双核智能手机2的USB连接,瞄准摄像模块32中CMOS瞄准摄像头与所述Android双核智能手机的USB连接获取射击场景数据,显示模块12与所述Android双核智能手机2的VGA连接,显示模块12采用Wrap视频眼镜显示图像。大容量后备电池4,用于为所述模块提供后备电源,本实施例使用Android双核智能手机自带的陀螺仪,受伤验证模块验证击中射击者后,手机振动装置发出振动提示信息。如图2所示本发明工作流程图,本实施例提供一种使用增强现实技术的单兵轻武器虚拟射击训练的方法,其中步骤B1~B5为射击者射击虚拟目标包含的步骤,步骤C1~C6为虚拟目标射击训练者包含的步骤。A1:视频跟踪模块获取摄像模块真实环境图像视频帧,摄像模块获得视频路径和视频大小后初始化摄像头的内部参数并载入模版图像的数据信息,读取视频流。视频跟踪模块将从读取到的视频流中获得连续的图像帧数据供后续的三维注册模块进行处理,由真实场景图像数据获取目标位置。A2和A3xa0:三维注册模块处理图像特征信息生成真实环境摄像机投影坐标,实现虚拟目标在真实场景中的定位。首先利用在运算速度方面有优势的快速鲁棒性特征点检测算法(SURF)特征点检测算法,对A1中捕获到的视频图像帧进行特征点的检测。其次本发明提出了一种使用Lucas-Kanade光流算法对检测到的特征点进行跟踪的方法,在获得匹配特征点对的基础上使用随机抽样一致性(RANSAC)算法对每一帧图像的特征点与模版图像的特征点进行高精度匹配,由于模版图像中特征点的世界坐标是已知的,由此得到真实环境的世界坐标。图3所示的注册过程可以详细描述如下:首先利用光流法跟踪匹配特征点对,对于给定的连续两帧图像xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="52"/>,
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="52"/>,取
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="52"/>上任一特征点
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="86"/>,在
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="52"/>上找到对应的有相似图像强度的匹配特征点
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="164"/>,其中
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="13"/>是
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="18"/>点在两帧图像间的平移量。然后根据匹配点对求解单应矩阵和投影矩阵并实现注册过程(将当前最佳估计内点数目
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="16"/>设为0,并设世界坐标系到第1帧图像坐标系的单应矩阵为
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="26"/>。)。(1)重复
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="20"/>次随机采样。由于计算单应矩阵需要4对非共线的点对,确定一个恰当的采样次数
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="20"/>,以保证此时采样的4对匹配点都是内点的概率足够高。设以
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="17"/>来表示此概率,一般取95%。设
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="17"/>为任何一对匹配点是内点的概率,则
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="61"/>就是任何对匹配点为外点的概率。那么采样到
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="20"/>次时有:
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="109"/>,则
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="133"/>xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0(1)(2)根据4对匹配点计算出单应矩阵
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="26"/>;(3)计算每个匹配点经过此单应矩阵变换后到对应匹配点的欧式距离
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="68"/>;(4)设定一个距离阈值
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="16"/>,把满足
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="41"/>的匹配点作为内点;(5)比较当前内点数目与
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="16"/>,若大于
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="16"/>则将
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="26"/>和当前的内点集作为当前最佳估计,更新
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="16"/>;同时动态估测剩余所需迭代次数
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="20"/>,如果当前迭代次数达到
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="20"/>,则保留
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="20"/>和当前的内点集并停止迭代。(6)对当前内点集的所有匹配点重新计算单应矩阵
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="26"/>。后续帧的注册通过跟踪前后两帧的图像特征点来求得,通过跟踪第k-1帧图像中特征点在第k帧图像中的对应点位置,可以得到第k帧图像与第k-1帧图像的单应矩阵
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="33"/>,而世界坐标系与第k帧图像坐标系的单应矩阵
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="26"/>可以通过以下公式求得:
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="153"/>xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0(2)由求得的单应矩阵
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="20"/>,xa0再根据旋转矩阵
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="17"/>的正交性,可以解出
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="17"/>,
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="9"/>。然后根据透视变换原理,求解每一图像帧对应的摄像机投影矩阵投影矩阵
![]()
ntent="drawing" img-format="jpg" inline="no" orientation="portrait" wi="17"/>。由于摄像机的内部参数焦距、主点、象素宽度等为已知,由求得的外部参数:位置t和姿态信息R,就能把虚拟摄像机的内部参数和外部参数同真实摄像机保持一致,从而实现虚拟摄像机与真实摄像机的对准,完成三维注册。上述三维注册可以使用SIFT算法,但运算速度不及所述的改进算法。A4:虚拟目标生成模块获得真实环境和摄像头距离并生成虚拟射击目标及位置。在实现了虚拟摄像机与真实摄像机的对准之后,得到真实环境摄像机的投影坐标,虚拟目标生成模块由此计算摄像头坐标系与世界坐标系之间的平移、旋转矩阵,由随机函数随机生成多个虚拟射击目标的位置。B1:射击模块获取枪扳机射击命令。预先在射击模块安装能发出二维信号扳机并通过USB连接线传送至如Android双核智能手机,当射击者扣动扳机时,射击模块把该命令通过USB传给射中验证模块。B2:瞄准摄像模块获取射击者的射击信息。预先在射击枪的瞄准口安装USB接口的瞄准摄像头并连接到Android双核智能手机,当射击者射击虚拟目标后,瞄准摄像模块获取射击图像信息并通过USB线传送至射中验证模块。B3:射中验证模块验证是否射中目标。根据射击图像判断,若图像平面中心点的深度为背景的深度则目标不在中间位置,表明未击中,继续步骤B1;若中心点深度不是背景深度,则表示虚拟人出现在瞄准摄像头的中心,击中目标,进入步骤B31。B31:数据存储装置存储射击数据。记录射击者击中虚拟目标的次数,准确率。B4:读取虚拟目标受伤动作模型。当虚拟目标被击中后,读取预先定义的受伤虚拟目标的模型。B5:更新虚拟目标状态。当虚拟目标被击中后,用读取的受伤虚拟目标模型覆盖原有虚拟目标。C1:虚拟目标射击动作模块发出射击信息。本发明在实现训练者对虚拟目标进行射击的同时也实现了虚拟目标对训练者射击的模拟,当系统开始运行之后,当虚拟目标出现在训练者的视野里,虚拟目标射击动作模块发出射击信息,射击信息包括射击方向、射击位置,陀螺仪获取射击信息。C2:读取陀螺仪模块局部坐标。为了获得射击者的位置信息,训练者需要佩戴陀螺仪,当获得虚拟目标射击动作模块发出的射击信息后,读取陀螺仪的实时数据,得到局部坐标信息,获取射击者的局部坐标可采用Android双核智能手机自带的陀螺仪实现。C3:坐标变换模块生成射击者位置投影坐标。判断虚拟目标是否射中训练者需要将虚拟目标和训练者置于同一个世界坐标系中,坐标变换模块将从陀螺仪模块获取的局部坐标信息转换为射击者在世界坐标系中的投影坐标,进而判断虚拟目标是否射中了训练者。已知水平面与世界坐标系的转换矩阵,陀螺仪的世界坐标为该矩阵与陀螺仪的局部坐标的乘积。C4:受伤验证模块验证虚拟目标是否射中射击者。根据C1中得到的射击信息,确定虚拟目标射击的弹道射线L的坐标表示,然后根据训练者的投影坐标确定一个表示训练者目标的与弹道射线L垂直的包围盒区域O,计算此射线L是否穿过包围盒区域O,如果穿过了则表示虚拟目标射中了训练者(进入步骤C41),反之则没有射中(继续步骤C1)。C41:数据存储装置存储射击数据。记录射击者被击中的次数,频率。C5:手机震动装置发出震动。手机的震动给训练者反馈被击中的效果,给训练者一种真实的射击体验感。C6:受伤效果模块提供受伤虚拟效果。如果虚拟目标击中了训练者,则需要在头盔装置中显示被击中后的渲染效果(例如:平面变红色等)。首先由虚拟目标生成模块完成虚拟被击中效果的渲染,然后获得虚拟目标的位置信息,最后由虚实融合模块将虚拟效果绘制在真实场景图像中。D1:虚实图像融合模块将虚拟目标与真实环境图像帧融和,得到增强现实环境的融合视频帧。首先定义三维图形中的纹理,并将背景图像数据作为纹理的数据源;读取虚拟摄像机的投影矩阵,把背景纹理绘制在合理的图形位置上;其次,将虚拟对象绘制在与真实环境世界坐标系统一的虚拟世界坐标系中;渲染三维场景,获得虚实融合的图像。D2:显示模块获取增强现实环境的融合视频帧并显示真实环境和射击虚拟目标将虚实图像融合模块的融合图像视频帧传送至头盔装置的显示模块,通过显示模块的显示器进行显示。需要说明的是,普通的技术人员针对上述的实施还可以很容易的想到其他的技术方案,只要这些技术方案在本发明的构思范围内,应等同于本专利的技术方案,属于本专利的保护范围。